/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.brain.cobranza.dto;

import com.brain.core.view.util.ConstantesCore;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Transient;
import javax.validation.constraints.Size;

/**
 *
 * @author Hvives
 */
@Entity
@Table(name = "TCOB_CARGA_DETA")
public class CargaDetaDto implements Serializable {

    private static final long serialVersionUID = 1L;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "SEQ_TCOB_CARGA")
    @TableGenerator(name = "SEQ_TCOB_CARGA", table = "TCORE_ENTIDAD", pkColumnName = "NOMBRE", valueColumnName = "CORRELATIVO", pkColumnValue = "TCOB_CARGA", allocationSize = 1)
    private Long id;

    @JoinColumn(name = "CARGA", referencedColumnName = "ID")
    @ManyToOne
    private CargaDto cargaDto;
    
    @Column(name = "FILA")
    private Long fila;
        
    @Size(max = 4000)
    @Column(name = "TEXTO_FILA")
    private String textoFila;
    
    @Size(max = 100)
    @Column(name = "COLUMNA1")
    private String columna1;
    
    @Size(max = 100)
    @Column(name = "COLUMNA2")
    private String columna2;
    
    @Size(max = 100)
    @Column(name = "COLUMNA3")
    private String columna3;
    
    @Size(max = 100)
    @Column(name = "COLUMNA4")
    private String columna4;
    
    @Size(max = 100)
    @Column(name = "COLUMNA5")
    private String columna5;
    
    @Size(max = 100)
    @Column(name = "COLUMNA6")
    private String columna6;
    
    @Size(max = 100)
    @Column(name = "COLUMNA7")
    private String columna7;
    
    @Size(max = 100)
    @Column(name = "COLUMNA8")
    private String columna8;
    
    @Size(max = 100)
    @Column(name = "COLUMNA9")
    private String columna9;
    
    @Size(max = 100)
    @Column(name = "COLUMNA10")
    private String columna10;
    
    @Size(max = 100)
    @Column(name = "COLUMNA11")
    private String columna11;
    
    @Size(max = 100)
    @Column(name = "COLUMNA12")
    private String columna12;
    
    @Size(max = 100)
    @Column(name = "COLUMNA13")
    private String columna13;
    
    @Size(max = 100)
    @Column(name = "COLUMNA14")
    private String columna14;
    
    @Size(max = 100)
    @Column(name = "COLUMNA15")
    private String columna15;
    
    @Size(max = 500)
    @Column(name = "COLUMNA16")
    private String columna16;
    
    @Size(max = 500)
    @Column(name = "COLUMNA17")
    private String columna17;
    
    @Size(max = 500)
    @Column(name = "COLUMNA18")
    private String columna18;
    
    @Size(max = 500)
    @Column(name = "COLUMNA19")
    private String columna19;
    
    @Size(max = 500)
    @Column(name = "COLUMNA20")
    private String columna20;
    
    @Size(max = 500)
    @Column(name = "COLUMNA21")
    private String columna21;
    
    @Size(max = 500)
    @Column(name = "COLUMNA22")
    private String columna22;
    
    @Size(max = 500)
    @Column(name = "COLUMNA23")
    private String columna23;
    
    @Size(max = 500)
    @Column(name = "COLUMNA24")
    private String columna24;
    
    @Size(max = 100)
    @Column(name = "COLUMNA25")
    private String columna25;
    
    @Size(max = 100)
    @Column(name = "COLUMNA26")
    private String columna26;
    
    @Size(max = 100)
    @Column(name = "COLUMNA27")
    private String columna27;
    
    @Size(max = 100)
    @Column(name = "COLUMNA28")
    private String columna28;
    
    @Size(max = 100)
    @Column(name = "COLUMNA29")
    private String columna29;
    
    @Size(max = 100)
    @Column(name = "COLUMNA30")
    private String columna30;
    
    @Size(max = 100)
    @Column(name = "COLUMNA31")
    private String columna31;
    
    @Size(max = 100)
    @Column(name = "COLUMNA32")
    private String columna32;
    
    @Size(max = 100)
    @Column(name = "COLUMNA33")
    private String columna33;
    
    @Size(max = 100)
    @Column(name = "COLUMNA34")
    private String columna34;
    
    @Size(max = 100)
    @Column(name = "COLUMNA35")
    private String columna35;
    
    @Size(max = 100)
    @Column(name = "COLUMNA36")
    private String columna36;
    
    @Column(name = "ESTADO")
    private String estado;
    
    @Size(max = 500)
    @Column(name = "DESCRIPCION_ERROR")
    private String descripcionError;
    
    @Transient
    private String inlineStyle;
    
    @Transient
    private String estadoTexto;

    public CargaDetaDto() {
    }

    public CargaDetaDto(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public CargaDto getCargaDto() {
        return cargaDto;
    }

    public void setCargaDto(CargaDto cargaDto) {
        this.cargaDto = cargaDto;
    }

    public Long getFila() {
        return fila;
    }

    public void setFila(Long fila) {
        this.fila = fila;
    }

    public String getTextoFila() {
        return textoFila;
    }

    public void setTextoFila(String textoFila) {
        this.textoFila = textoFila;
    }

    public String getColumna1() {
        return columna1;
    }

    public void setColumna1(String columna1) {
        this.columna1 = columna1;
    }

    public String getColumna2() {
        return columna2;
    }

    public void setColumna2(String columna2) {
        this.columna2 = columna2;
    }

    public String getColumna3() {
        return columna3;
    }

    public void setColumna3(String columna3) {
        this.columna3 = columna3;
    }

    public String getColumna4() {
        return columna4;
    }

    public void setColumna4(String columna4) {
        this.columna4 = columna4;
    }

    public String getColumna5() {
        return columna5;
    }

    public void setColumna5(String columna5) {
        this.columna5 = columna5;
    }

    public String getColumna6() {
        return columna6;
    }

    public void setColumna6(String columna6) {
        this.columna6 = columna6;
    }

    public String getColumna7() {
        return columna7;
    }

    public void setColumna7(String columna7) {
        this.columna7 = columna7;
    }

    public String getColumna8() {
        return columna8;
    }

    public void setColumna8(String columna8) {
        this.columna8 = columna8;
    }

    public String getColumna9() {
        return columna9;
    }

    public void setColumna9(String columna9) {
        this.columna9 = columna9;
    }

    public String getColumna10() {
        return columna10;
    }

    public void setColumna10(String columna10) {
        this.columna10 = columna10;
    }

    public String getColumna11() {
        return columna11;
    }

    public void setColumna11(String columna11) {
        this.columna11 = columna11;
    }

    public String getColumna12() {
        return columna12;
    }

    public void setColumna12(String columna12) {
        this.columna12 = columna12;
    }

    public String getColumna13() {
        return columna13;
    }

    public void setColumna13(String columna13) {
        this.columna13 = columna13;
    }

    public String getColumna14() {
        return columna14;
    }

    public void setColumna14(String columna14) {
        this.columna14 = columna14;
    }

    public String getColumna15() {
        return columna15;
    }

    public void setColumna15(String columna15) {
        this.columna15 = columna15;
    }

    public String getColumna16() {
        return columna16;
    }

    public void setColumna16(String columna16) {
        this.columna16 = columna16;
    }

    public String getColumna17() {
        return columna17;
    }

    public void setColumna17(String columna17) {
        this.columna17 = columna17;
    }

    public String getColumna18() {
        return columna18;
    }

    public void setColumna18(String columna18) {
        this.columna18 = columna18;
    }

    public String getColumna19() {
        return columna19;
    }

    public void setColumna19(String columna19) {
        this.columna19 = columna19;
    }

    public String getColumna20() {
        return columna20;
    }

    public void setColumna20(String columna20) {
        this.columna20 = columna20;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public String getEstadoTexto() {
        if (estado==null) {
            return "PENDIENTE";
        }
        if (estado.equals("O")) {
            estadoTexto = "OK";
        }
        else if (estado.equals("E")){
            estadoTexto = "ERROR";
        }
        else if (estado.equals("-")) {
            estadoTexto = "PENDIENTE";
        }
        return estadoTexto;
    }

    public void setEstadoTexto(String estadoTexto) {
        this.estadoTexto = estadoTexto;
    }

    public String getColumna21() {
        return columna21;
    }

    public void setColumna21(String columna21) {
        this.columna21 = columna21;
    }

    public String getColumna22() {
        return columna22;
    }

    public void setColumna22(String columna22) {
        this.columna22 = columna22;
    }

    public String getColumna23() {
        return columna23;
    }

    public void setColumna23(String columna23) {
        this.columna23 = columna23;
    }

    public String getColumna24() {
        return columna24;
    }

    public void setColumna24(String columna24) {
        this.columna24 = columna24;
    }

    public String getColumna25() {
        return columna25;
    }

    public void setColumna25(String columna25) {
        this.columna25 = columna25;
    }

    public String getColumna26() {
        return columna26;
    }

    public void setColumna26(String columna26) {
        this.columna26 = columna26;
    }

    public String getColumna27() {
        return columna27;
    }

    public void setColumna27(String columna27) {
        this.columna27 = columna27;
    }

    public String getColumna28() {
        return columna28;
    }

    public void setColumna28(String columna28) {
        this.columna28 = columna28;
    }

    public String getColumna29() {
        return columna29;
    }

    public void setColumna29(String columna29) {
        this.columna29 = columna29;
    }

    public String getColumna30() {
        return columna30;
    }

    public void setColumna30(String columna30) {
        this.columna30 = columna30;
    }

    public String getColumna31() {
        return columna31;
    }

    public void setColumna31(String columna31) {
        this.columna31 = columna31;
    }

    public String getColumna32() {
        return columna32;
    }

    public void setColumna32(String columna32) {
        this.columna32 = columna32;
    }

    public String getColumna33() {
        return columna33;
    }

    public void setColumna33(String columna33) {
        this.columna33 = columna33;
    }

    public String getColumna34() {
        return columna34;
    }

    public void setColumna34(String columna34) {
        this.columna34 = columna34;
    }

    public String getColumna35() {
        return columna35;
    }

    public void setColumna35(String columna35) {
        this.columna35 = columna35;
    }

    public String getColumna36() {
        return columna36;
    }

    public void setColumna36(String columna36) {
        this.columna36 = columna36;
    }

    public String getInlineStyle() {
        if (estado==null) {
            return null;
        }
        if (estado.equals("O")) {
            inlineStyle = ConstantesCore.cssEstados.cssElaboracion;
        }
        else if (estado.equals("E")) {
            inlineStyle = ConstantesCore.cssEstados.cssAnulado;
        }
        else {
            inlineStyle = "general";
        }
        
        return this.inlineStyle;
    }

    public void setInlineStyle(String inlineStyle) {
        this.inlineStyle = inlineStyle;
    }

    public String getDescripcionError() {
        return descripcionError;
    }

    public void setDescripcionError(String descripcionError) {
        this.descripcionError = descripcionError;
    }
    
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof CargaDetaDto)) {
            return false;
        }
        CargaDetaDto other = (CargaDetaDto) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.brain.cobranza.dto.CargaDetaDto[ id=" + id + " ]";
    }
}
